package be.groept.ace.cursusplanning.model.strategy.regels;

import be.groept.ace.cursusplanning.model.AangebodenCursus;
import be.groept.ace.cursusplanning.model.Cursist;
import be.groept.ace.cursusplanning.model.Cursus;
import be.groept.ace.cursusplanning.model.CursusHistoriek;

public class VolgelijkheidsRegel implements SamenstellingsRegel{

	private static final int SCORE = 10;
	
	@Override
	public boolean voldaan(Cursist cursist, AangebodenCursus aangebodenCursus) {
		Cursus cursus = aangebodenCursus.getCursus();
		if (cursus.getVoorgaandeCursussen().size() > 0) {
			for (Cursus c : cursus.getVoorgaandeCursussen().values()) {
				boolean gevonden = false;
				for(CursusHistoriek cursusHistoriek: cursist.getCursushistorieken()) {
					if(cursusHistoriek.getCursus().equals(c)){
						if(cursusHistoriek.getScore() >= SCORE ) {
							gevonden = true;
							break;
						}
						return false;
					}
				}
				if(!gevonden) return false;
			}
		}
		return true;
	}

}
